Regarding characteristics of a real-time data service, it is required to provide the service without a delay or an interruption. For this, the real-time data service is required to ensure a preset bandwidth. In general, a packet processing process for ensuring QoS is as follows:
FIG. 1 is a flowchart illustrating a packet processing process for ensuring QoS in a conventional service.
Firstly, when traffic is received, a classifier classifies a packet according to preset conditions (S101). Here, the classifier transmits the classified packet to a meter.
The meter measures the traffic flow classified by the classifier. For example, the meter can measure the bandwidth or burst information using an input rate of the traffic flow. In the case of measuring the traffic flow, the meter determines an excess by comparing the profile of the input traffic with a preset traffic profile (S102). In general, the meter classifies the traffic into three categories: The first category satisfies the preset traffic profile. The second category exceeds the preset traffic profile in a preset range. The third category exceeds the preset traffic profile beyond the preset range. Based on the result, a marker carries out a suitable marking process.
The marker marks or remarks a QoS field of an IP packet, included in the traffic, according to the measurement result (S103). For marking, an IP precedence field and a type of service (ToS) field are necessary. The IP precedence field is used to ensure QoS, and is expressed using high three (3) bits of the ToS field present in an IP header. The larger the number is, the higher precedence may be. The marker marks the packet, and then sends the marked packet to a policer.
When the packet is received, the policer limits an output bandwidth in a predetermined level by referring to the marked QoS field (S104). In most cases, the policer adjusts the bandwidth of the traffic by dropping the packet. For this, the policer may include a dropper, which drops an IP packet of traffic when it is determined not to transmit the traffic.
Then, the policer outputs the packet to a queue in order to forward the packet according to the precedence of the packet (S105). Packets waiting in the queue are transmitted to a shaper according to the precedence (S106).
The shaper controls the output rate of the traffic according to the measurement result of the meter (S107). The shaper may be connected to a plurality of queues and a scheduler in order to receive traffic from the plurality of queues, and control the rate of the output traffic. The shaper transmits the packet to the scheduler according to a preset output rate.
The scheduler determines the forwarding precedence of the received output traffic (S108). The scheduler can ensure QoS by giving output precedence to respective traffic, classified as respective service flow, according to preset scheduling rules. Here, the scheduler can give the highest output precedence to traffic corresponding to a real-time data service such as VoIP.
In the case where a plurality of queues are included, each of the queues can be adapted to correspond to a traffic flow associated with each service in order to ensure efficient traffic scheduling. Here, traffic of a specific service flow is outputted through an assigned queue. The plurality of queues can have different levels of output precedence.
The scheduler forwards the packet according to the precedence (S109), thereby accomplishing the packet processing.
FIG. 2A is a diagram illustrating a status variation in the information rate of traffic and the resultant burst size of a packet, and FIG. 2B is a flowchart illustrating a traffic metering process using a dual token bucket algorithm in the state as shown in FIG. 2A.
In the diagram shown in FIG. 2A, the unit of the information rate is bit per second (bps), and the unit of the burst size is bytes. In addition, as shown in FIG. 2A, the information rate entering a network changes every moment.
Committed information rate (CIR) indicates an information rate that can be transmitted per logical channel when data is transmitted from a terminal to a network. The CIR also indicates a data transmission rate that the network ensures to the terminal in a normal state, and acts as a reference by which a user can control the processing rate when the network is congested. In addition, committed burst size (CBS) indicates the burst size of a packet when traffic is transmitted at the CIR.
On the other hand, peak information rate (PIR) indicates the maximum information rate that can be transmitted from the terminal to the network. In addition, peak burst size (PBS) indicates the burst size of a packet when traffic is transmitted at the PIR. The difference between the CBS and the PBS is referred to as excessive burst size (EBS).
Now, the traffic metering process using the dual token bucket algorithm in the state as shown in FIG. 2A will be described.
The dual token bucket algorithm uses PIR and CIR as a token rate, and a bucket itself is not used as an FIFO queue but is used to manage traffic-controlling tokens. In this case, the flow of traffic is controlled according to the existence of the tokens. Furthermore, the dual token bucket algorithm allows passage within a predetermined limit even if the traffic is burst.
The dual token bucket algorithm assigns two buckets. The size of the first bucket is PBS, and the token rate of the first bucket is PIR. The size of the second bucket is CBS, and the token rate of the second bucket is CIR.
When the traffic is received, the size of a packet is compared with that of a token in the first bucket (S201), and it is determined whether or not the packet size is greater than the token in the first bucket (S202). The size of the first bucket is set to be PBS, so that a greater packet cannot pass through. If the packet is greater than the token in the first bucket, the packet is classified as a non-conforming packet (S203).
If the packet is not greater than the token in the first bucket, the size of the packet is compared with that of a token in the second bucket (S204). Since the size of the second bucket is set to be CBS, a packet the same as or smaller than the token in the second bucket is allowed to pass through. In this case, the packet is classified as a conforming packet (S205). If the packet is greater than the token in the second bucket, it is classified as a loosely-conforming packet (S206). The loosely-conforming packet can be dropped in some cases. With this procedure, the traffic metering process using the dual token bucket algorithm is accomplished.
There are problems in providing a VoIP service in a network environment using private IP. Since private IP address in a protocol data unit (PDU) of a VoIP signal cannot be recognized from outside, the private IP address is required to be converted into a public IP address using network address translation (NAT). This requires an application level gateway (ALG), which can be included in a router or be installed in a separate proxy server.
In the absence of the ALG, it is required to use public IP. In practice, a VoIP service environment is frequently established using public IP without the application of the NAT.
Not only in the case of using private IP but also in the case of using public IP, specific IP and port information is required to be previously stored in a QoS policer. Traffic is marked with precedence in order to provide a QoS ensured service, and thus IP address and port number, through which the traffic is received, should be known in advance.
A real-time data service, which is currently supported on the network, uses dynamic IP address and port number. IP address and port number for exchanging packets are not previously assigned since the real-time data service does not use fixed IP address and port number. Rather, dynamic RTP IP/port is assigned by the capability negotiation between a packet transmitting part and a packet receiving part.
In this case, the QoS policer responds to a packet using dynamic IP/port as follows: In the case where a packet is transmitted using IP address and port number, which change in real-time, the QoS policer cannot recognize the dynamically changing IP address and port. Accordingly, the policer previously sets a range of IP address and port number, and then regards a packet as a real-time packet when received in this range of IP address and port number.
However, the above-described approach also has the following problems.
Firstly, in the case where the policer processes a real-time data service packet by setting previously assigned and fixed well-known IP/port, the substance of the real-time data service packet is not recognized, but only the priority field of the packet is referred to. Thus, this method is vulnerable to a real-time data service spam packet.
Secondly, there are a number of restrictions on setting dynamic RTP IP/port, which is determined by the capability negotiation between VoIP gateways or VoIP terminals. Owing to this problem, in the conventional VoIP service, a terminal generally transmits a VoIP packet by marking the priority field of the packet with precedence. However, it is still impossible to intercept a VoIP QoS spam packet having high precedence even if the spam packet is not a VoIP packet. Furthermore, when a VoIP gateway or a terminal did not mark precedence on the priority field, the packet cannot be processed.
Accordingly, the above-described problems degrade the QoS of the VoIP service.